[GtkApplication] Add gtk_application_get_windows()
authorJonh Wendell <jwendell@gnome.org>
Mon, 5 Jul 2010 13:05:48 +0000 (10:05 -0300)
committerJonh Wendell <jwendell@gnome.org>
Mon, 5 Jul 2010 20:12:53 +0000 (17:12 -0300)
Closes #623598.

gtk/gtk.symbols
gtk/gtkapplication.c
gtk/gtkapplication.h

index b5125d0e7d64cb60b4c314c20730e8ffc397f8a4..3939b7176fbfe2f445d364f9addcc5a172df8689 100644 (file)
@@ -265,6 +265,7 @@ gtk_application_new
 gtk_application_set_action_group
 gtk_application_create_window
 gtk_application_get_window
+gtk_application_get_windows
 gtk_application_add_window
 gtk_application_run
 gtk_application_quit
index ef407d8006f8e42972f787a53385a99b02f937d5..b8bac92ee928b780b448a1e2c581844b86a744ef 100644 (file)
@@ -445,6 +445,28 @@ gtk_application_get_window (GtkApplication *app)
   return gtk_application_create_window (app);
 }
 
+/**
+ * gtk_application_get_windows:
+ * @app: a #GtkApplication
+ *
+ * Retrieves the list of windows previously registered with
+ * gtk_application_create_window() or gtk_application_add_window().
+ *
+ * Return value: (element-type GtkWindow) (transfer none): A pointer
+ * to the list of #GtkWindow<!-- -->s registered by this application,
+ * or %NULL. The returned #GSList is owned by the #GtkApplication
+ * and it should not be modified or freed directly.
+ *
+ * Since: 3.0
+ */
+G_CONST_RETURN GSList *
+gtk_application_get_windows (GtkApplication *app)
+{
+  g_return_val_if_fail (GTK_IS_APPLICATION (app), NULL);
+
+  return app->priv->windows;
+}
+
 /**
  * gtk_application_create_window:
  * @app: a #GtkApplication
index 2a808d77c67d2893016227f3c1dfa06b39e3950b..929cb29323d71dfe5a1ea9602e11e0485c1d1694 100644 (file)
@@ -87,18 +87,19 @@ struct _GtkApplicationClass
   void (*_gtk_reserved10) (void);
 };
 
-GType           gtk_application_get_type         (void) G_GNUC_CONST;
-GtkApplication* gtk_application_new              (const gchar      *appid,
-                                                 gint             *argc,
-                                                  gchar          ***argv);
-void            gtk_application_set_action_group (GtkApplication   *app,
-                                                  GtkActionGroup   *group);
-GtkWindow *     gtk_application_create_window    (GtkApplication   *app);
-GtkWindow *     gtk_application_get_window       (GtkApplication   *app);
-void            gtk_application_add_window       (GtkApplication   *app,
-                                                  GtkWindow        *window);
-void            gtk_application_run              (GtkApplication   *app);
-void            gtk_application_quit             (GtkApplication   *app);
+GType                   gtk_application_get_type         (void) G_GNUC_CONST;
+GtkApplication*         gtk_application_new              (const gchar      *appid,
+                                                          gint             *argc,
+                                                          gchar          ***argv);
+void                    gtk_application_set_action_group (GtkApplication   *app,
+                                                          GtkActionGroup   *group);
+GtkWindow *             gtk_application_create_window    (GtkApplication   *app);
+GtkWindow *             gtk_application_get_window       (GtkApplication   *app);
+G_CONST_RETURN GSList * gtk_application_get_windows      (GtkApplication   *app);
+void                    gtk_application_add_window       (GtkApplication   *app,
+                                                          GtkWindow        *window);
+void                    gtk_application_run              (GtkApplication   *app);
+void                    gtk_application_quit             (GtkApplication   *app);
 
 G_END_DECLS